For certain applications, it is desirable to provide low latency synchronization of logic states between networked computers. This is especially important for real-time applications such as online video games, where near instant feedback is required for convincing interactivity. Additionally, to provide design flexibility and to modularize engine programming, it is desirable to control game logic using general-purpose scripting languages, especially visual scripting languages that are amenable to creation by graphical user interfaces (GUIs).
On the other hand, to keep logic states consistent between networked computers, it is also desirable to have a single arbiter for logic processing. For example, a networked multi-player video game may need to determine a specific player to receive credit for defeating an enemy, or the video game may need to determine whether certain group-based or environmental prerequisites are satisfied before triggering an event. Conventionally, each networked computer may offload such game logic script processing to a centralized game server. However, due to the latency introduced by round trip network communications with the centralized game server, the goal of low latency state synchronization becomes more difficult to achieve.